{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Adversarial-Robustness-Toolbox for scikit-learn AdaBoostClassifier"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.ensemble import AdaBoostClassifier\n",
    "from sklearn.datasets import load_iris\n",
    "\n",
    "import numpy as np\n",
    "from matplotlib import pyplot as plt\n",
    "\n",
    "from art.classifiers import SklearnClassifier\n",
    "from art.attacks import ZooAttack\n",
    "from art.utils import load_mnist\n",
    "\n",
    "import warnings\n",
    "warnings.filterwarnings('ignore')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 1 Training scikit-learn AdaBoostClassifier and attacking with ART Zeroth Order Optimization attack"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "def get_adversarial_examples(x_train, y_train):\n",
    "    \n",
    "    # Create and fit AdaBoostClassifier\n",
    "    model = AdaBoostClassifier()\n",
    "    model.fit(X=x_train, y=y_train)\n",
    "\n",
    "    # Create ART classfier for scikit-learn AdaBoostClassifier\n",
    "    art_classifier = SklearnClassifier(model=model)\n",
    "\n",
    "    # Create ART Zeroth Order Optimization attack\n",
    "    zoo = ZooAttack(classifier=art_classifier, confidence=0.0, targeted=False, learning_rate=1e-1, max_iter=20,\n",
    "                    binary_search_steps=10, initial_const=1e-3, abort_early=True, use_resize=False, \n",
    "                    use_importance=False, nb_parallel=1, batch_size=1, variable_h=0.2)\n",
    "\n",
    "    # Generate adversarial samples with ART Zeroth Order Optimization attack\n",
    "    x_train_adv = zoo.generate(x_train)\n",
    "\n",
    "    return x_train_adv, model"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 1.1 Utility functions"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "def get_data(num_classes):\n",
    "    x_train, y_train = load_iris(return_X_y=True)\n",
    "    x_train = x_train[y_train < num_classes][:, [0, 1]]\n",
    "    y_train = y_train[y_train < num_classes]\n",
    "    x_train[:, 0][y_train == 0] *= 2\n",
    "    x_train[:, 1][y_train == 2] *= 2\n",
    "    x_train[:, 0][y_train == 0] -= 3\n",
    "    x_train[:, 1][y_train == 2] -= 2\n",
    "    \n",
    "    x_train[:, 0] = (x_train[:, 0] - 4) / (9 - 4)\n",
    "    x_train[:, 1] = (x_train[:, 1] - 1) / (6 - 1)\n",
    "    \n",
    "    return x_train, y_train"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "def plot_results(model, x_train, y_train, x_train_adv, num_classes):\n",
    "    \n",
    "    fig, axs = plt.subplots(1, num_classes, figsize=(num_classes * 5, 5))\n",
    "\n",
    "    colors = ['orange', 'blue', 'green']\n",
    "\n",
    "    for i_class in range(num_classes):\n",
    "\n",
    "        # Plot difference vectors\n",
    "        for i in range(y_train[y_train == i_class].shape[0]):\n",
    "            x_1_0 = x_train[y_train == i_class][i, 0]\n",
    "            x_1_1 = x_train[y_train == i_class][i, 1]\n",
    "            x_2_0 = x_train_adv[y_train == i_class][i, 0]\n",
    "            x_2_1 = x_train_adv[y_train == i_class][i, 1]\n",
    "            if x_1_0 != x_2_0 or x_1_1 != x_2_1:\n",
    "                axs[i_class].plot([x_1_0, x_2_0], [x_1_1, x_2_1], c='black', zorder=1)\n",
    "\n",
    "        # Plot benign samples\n",
    "        for i_class_2 in range(num_classes):\n",
    "            axs[i_class].scatter(x_train[y_train == i_class_2][:, 0], x_train[y_train == i_class_2][:, 1], s=20,\n",
    "                                 zorder=2, c=colors[i_class_2])\n",
    "        axs[i_class].set_aspect('equal', adjustable='box')\n",
    "\n",
    "        # Show predicted probability as contour plot\n",
    "        h = .01\n",
    "        x_min, x_max = 0, 1\n",
    "        y_min, y_max = 0, 1\n",
    "\n",
    "        xx, yy = np.meshgrid(np.arange(x_min, x_max, h), np.arange(y_min, y_max, h))\n",
    "\n",
    "        Z_proba = model.predict_proba(np.c_[xx.ravel(), yy.ravel()])\n",
    "        Z_proba = Z_proba[:, i_class].reshape(xx.shape)\n",
    "        im = axs[i_class].contourf(xx, yy, Z_proba, levels=[0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0],\n",
    "                                   vmin=0, vmax=1)\n",
    "        if i_class == num_classes - 1:\n",
    "            cax = fig.add_axes([0.95, 0.2, 0.025, 0.6])\n",
    "            plt.colorbar(im, ax=axs[i_class], cax=cax)\n",
    "\n",
    "        # Plot adversarial samples\n",
    "        for i in range(y_train[y_train == i_class].shape[0]):\n",
    "            x_1_0 = x_train[y_train == i_class][i, 0]\n",
    "            x_1_1 = x_train[y_train == i_class][i, 1]\n",
    "            x_2_0 = x_train_adv[y_train == i_class][i, 0]\n",
    "            x_2_1 = x_train_adv[y_train == i_class][i, 1]\n",
    "            if x_1_0 != x_2_0 or x_1_1 != x_2_1:\n",
    "                axs[i_class].scatter(x_2_0, x_2_1, zorder=2, c='red', marker='X')\n",
    "        axs[i_class].set_xlim((x_min, x_max))\n",
    "        axs[i_class].set_ylim((y_min, y_max))\n",
    "\n",
    "        axs[i_class].set_title('class ' + str(i_class))\n",
    "        axs[i_class].set_xlabel('feature 1')\n",
    "        axs[i_class].set_ylabel('feature 2')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 2 Example: Iris dataset"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### legend\n",
    "- colored background: probability of class i\n",
    "- orange circles: class 1\n",
    "- blue circles: class 2\n",
    "- green circles: class 3\n",
    "- red crosses: adversarial samples for class i"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x360 with 3 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "num_classes = 2\n",
    "x_train, y_train = get_data(num_classes=num_classes)\n",
    "x_train_adv, model = get_adversarial_examples(x_train, y_train)\n",
    "plot_results(model, x_train, y_train, x_train_adv, num_classes)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1080x360 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "num_classes = 3\n",
    "x_train, y_train = get_data(num_classes=num_classes)\n",
    "x_train_adv, model = get_adversarial_examples(x_train, y_train)\n",
    "plot_results(model, x_train, y_train, x_train_adv, num_classes)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 3 Example: MNIST"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3.1 Load and transform MNIST dataset"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "(x_train, y_train), (x_test, y_test), min_, max_ = load_mnist()\n",
    "\n",
    "n_samples_train = x_train.shape[0]\n",
    "n_features_train = x_train.shape[1] * x_train.shape[2] * x_train.shape[3]\n",
    "n_samples_test = x_test.shape[0]\n",
    "n_features_test = x_test.shape[1] * x_test.shape[2] * x_test.shape[3]\n",
    "\n",
    "x_train = x_train.reshape(n_samples_train, n_features_train)\n",
    "x_test = x_test.reshape(n_samples_test, n_features_test)\n",
    "\n",
    "y_train = np.argmax(y_train, axis=1)\n",
    "y_test = np.argmax(y_test, axis=1)\n",
    "\n",
    "n_samples_max = 200\n",
    "x_train = x_train[0:n_samples_max]\n",
    "y_train = y_train[0:n_samples_max]\n",
    "x_test = x_test[0:n_samples_max]\n",
    "y_test = y_test[0:n_samples_max]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3.2 Train AdaBoostClassifier classifier"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "model = AdaBoostClassifier(base_estimator=None, n_estimators=50, learning_rate=0.1, algorithm='SAMME.R', \n",
    "                           random_state=None)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "AdaBoostClassifier(algorithm='SAMME.R', base_estimator=None,\n",
       "          learning_rate=0.1, n_estimators=50, random_state=None)"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model.fit(X=x_train, y=y_train)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3.3 Create and apply Zeroth Order Optimization Attack with ART"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "art_classifier = SklearnClassifier(model=model)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "zoo = ZooAttack(classifier=art_classifier, confidence=0.0, targeted=False, learning_rate=1e-1, max_iter=30,\n",
    "                binary_search_steps=20, initial_const=1e-3, abort_early=True, use_resize=False, \n",
    "                use_importance=False, nb_parallel=10, batch_size=1, variable_h=0.25)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "scrolled": false
   },
   "outputs": [],
   "source": [
    "x_train_adv = zoo.generate(x_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "x_test_adv = zoo.generate(x_test)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3.4 Evaluate AdaBoostClassifier on benign and adversarial samples"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Benign Training Score: 0.7700\n"
     ]
    }
   ],
   "source": [
    "score = model.score(x_train, y_train)\n",
    "print(\"Benign Training Score: %.4f\" % score)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 288x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.matshow(x_train[0, :].reshape((28, 28)))\n",
    "plt.clim(0, 1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Benign Training Predicted Label: 5\n"
     ]
    }
   ],
   "source": [
    "prediction = model.predict(x_train[0:1, :])[0]\n",
    "print(\"Benign Training Predicted Label: %i\" % prediction)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Adversarial Training Score: 0.4300\n"
     ]
    }
   ],
   "source": [
    "score = model.score(x_train_adv, y_train)\n",
    "print(\"Adversarial Training Score: %.4f\" % score)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 288x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.matshow(x_train_adv[0, :].reshape((28, 28)))\n",
    "plt.clim(0, 1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Adversarial Training Predicted Label: 3\n"
     ]
    }
   ],
   "source": [
    "prediction = model.predict(x_train_adv[0:1, :])[0]\n",
    "print(\"Adversarial Training Predicted Label: %i\" % prediction)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Benign Test Score: 0.4700\n"
     ]
    }
   ],
   "source": [
    "score = model.score(x_test, y_test)\n",
    "print(\"Benign Test Score: %.4f\" % score)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 288x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.matshow(x_test[0, :].reshape((28, 28)))\n",
    "plt.clim(0, 1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Benign Test Predicted Label: 7\n"
     ]
    }
   ],
   "source": [
    "prediction = model.predict(x_test[0:1, :])[0]\n",
    "print(\"Benign Test Predicted Label: %i\" % prediction)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Adversarial Test Score: 0.2250\n"
     ]
    }
   ],
   "source": [
    "score = model.score(x_test_adv, y_test)\n",
    "print(\"Adversarial Test Score: %.4f\" % score)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAQEAAAECCAYAAAD+eGJTAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAOIElEQVR4nO3df6zd9V3H8ddr7eV2vS3armtXS6HC2DI2RzF3sKVquiCTbSGFbOia2NRk7hKFBMyiEpKFJupEwg/RKUmRum4pTFxByFbnSDNFIna0pLSFokWs2PXaC3TaMqA/3/5xv8Vrd+/n3HvPj++5fT8fyc055/v+nu/33W/Pfd3P95zP/V5HhADk9Y66GwBQL0IASI4QAJIjBIDkCAEgOUIASK6WELB9pe1/sf2i7Zvr6KHE9l7bO21vt721C/pZZ3vI9q4Ry+baftz2nup2Tpf1t8b2D6pjuN32p2rsb7Ht79nebfs52zdWy7viGBb668gxdKfnCdieJulfJV0haZ+kpyWtjIjnO9pIge29kvoj4tW6e5Ek278g6XVJX4uID1XLbpd0MCJuq4J0TkT8bhf1t0bS6xFxRx09jWR7oaSFEfGM7dmStkm6WtKvqQuOYaG/X1YHjmEdI4FLJb0YES9FxFFJ35C0ooY+poyIeELSwdMWr5C0vrq/XsMvmlqM0V/XiIjBiHimun9Y0m5Ji9Qlx7DQX0fUEQKLJP3niMf71MF/8DiFpO/a3mZ7oO5mxrAgIgal4ReRpPk19zOaG2zvqE4XajtdGcn2EkmXSNqiLjyGp/UndeAY1hECHmVZt81dXhYRPyvpk5Kur4a7mJh7JV0gaamkQUl31tuOZHuWpI2SboqIQ3X3c7pR+uvIMawjBPZJWjzi8TmS9tfQx5giYn91OyTpEQ2fwnSbA9W55KlzyqGa+/l/IuJARJyIiJOS7lPNx9B2j4a/wTZExMPV4q45hqP116ljWEcIPC3pQts/bfssSZ+T9FgNfYzKdl/15oxs90n6hKRd5WfV4jFJq6v7qyU9WmMvP+bUN1flGtV4DG1b0v2SdkfEXSNKXXEMx+qvU8ew458OSFL1UccfS5omaV1E/EHHmxiD7fM1/NNfkqZLeqDu/mw/KGm5pHmSDki6VdLfSHpI0rmSXpZ0bUTU8ubcGP0t1/AwNiTtlXTdqfPvGvr7OUn/KGmnpJPV4ls0fN5d+zEs9LdSHTiGtYQAgO7BjEEgOUIASI4QAJIjBIDkCAEguVpDoIun5Eqiv2Z1c3/d3JvU2f7qHgl09X+E6K9Z3dxfN/cmdbC/ukMAQM2amixk+0pJ92h45t9fRMRtpfXPcm/MUN/bj4/piHrUO+n9txv9Naeb++vm3qTW9/eWfqSjcWS0X96bfAhM5uIgZ3tuXObLJ7U/AJO3JTbrUBwcNQSaOR3g4iDAGaCZEJgKFwcB0MD0Jp47rouDVB91DEjSDM1sYncA2qGZkcC4Lg4SEWsjoj8i+rv5jRggq2ZCoKsvDgJgfCZ9OhARx23fIOnv9H8XB3muZZ0B6Ihm3hNQRGyStKlFvQCoATMGgeQIASA5QgBIjhAAkiMEgOQIASA5QgBIjhAAkiMEgOQIASA5QgBIjhAAkiMEgOQIASA5QgBIjhAAkiMEgOQIASA5QgBIjhAAkiMEgOQIASA5QgBIjhAAkiMEgOQIASA5QgBIjhAAkiMEgOQIASA5QgBIbnozT7a9V9JhSSckHY+I/lY0BaBzmgqByscj4tUWbAdADTgdAJJrNgRC0ndtb7M90IqGAHRWs6cDyyJiv+35kh63/UJEPDFyhSocBiRphmY2uTsArdbUSCAi9le3Q5IekXTpKOusjYj+iOjvUW8zuwPQBpMOAdt9tmefui/pE5J2taoxAJ3RzOnAAkmP2D61nQci4jst6QpAx0w6BCLiJUkXt7AXADXgI0IgOUIASI4QAJIjBIDkCAEgOUIASK4Vv0WYxmtf+Fixfu6qF4v1F4YWFOtHj/QU64seLNdn7nu9WD+5/fliHTkxEgCSIwSA5AgBIDlCAEiOEACSIwSA5AgBIDnmCUzA7/z2A8X6Z/p+WN7ABU02sLxc3nv8jWL9nlc+3mQDU9v3h84r1vvu/Iliffrmba1sp2swEgCSIwSA5AgBIDlCAEiOEACSIwSA5AgBIDlHRMd2drbnxmW+vGP7a7UfffayYv3VD5czdc7u8rH+4QdcrJ/14f8u1m//0MPF+hXvfLNY//Ybs4r1T88sX6+gWW/G0WJ9y5G+Yn35jGNN7f+9376uWH/fwNNNbb9OW2KzDsXBUV9gjASA5AgBIDlCAEiOEACSIwSA5AgBIDlCAEiO6wlMQN83tzSoN7f9s5t7uv70PcuL9d9ftqS8/38o/92E25e/d4IdTcz0N08W6307Bov1dz2xsVj/mbMa/N2GveX6marhSMD2OttDtneNWDbX9uO291S3c9rbJoB2Gc/pwFclXXnaspslbY6ICyVtrh4DmIIahkBEPCHp4GmLV0haX91fL+nqFvcFoEMm+8bggogYlKTqdn7rWgLQSW1/Y9D2gKQBSZqhme3eHYAJmuxI4IDthZJU3Q6NtWJErI2I/ojo71HvJHcHoF0mGwKPSVpd3V8t6dHWtAOg0xqeDth+UMNXvJ9ne5+kWyXdJukh25+X9LKka9vZJMbn+H8dKNb7NpbrJxpsv++br02wo9Y68OsfK9Y/eFb55XzHwfcX60v+8qVi/XixOnU1DIGIWDlGaepeHQTA25g2DCRHCADJEQJAcoQAkBwhACRHCADJcT0BdI3p5y0u1r9yy1eK9R5PK9b/+p5fLNbfNfhUsX6mYiQAJEcIAMkRAkByhACQHCEAJEcIAMkRAkByzBNA13jhtxYV6x/pdbH+3NE3i/W5z78x4Z4yYCQAJEcIAMkRAkByhACQHCEAJEcIAMkRAkByzBOYQqafv6RYP/7S3o70MVlHPv2RYv2Zz97dYAvlv2D1GzfeWKy/85++32D7OTESAJIjBIDkCAEgOUIASI4QAJIjBIDkCAEgOeYJTCHdPg+gkZc/Wf6ZM8vleQAr//2KYn3md54t1qNYzavhSMD2OttDtneNWLbG9g9sb6++PtXeNgG0y3hOB74q6cpRlt8dEUurr02tbQtApzQMgYh4QtLBDvQCoAbNvDF4g+0d1enCnJZ1BKCjJhsC90q6QNJSSYOS7hxrRdsDtrfa3npMRya5OwDtMqkQiIgDEXEiIk5Kuk/SpYV110ZEf0T09zT4LTAAnTepELC9cMTDayTtGmtdAN2t4TwB2w9KWi5pnu19km6VtNz2Ug1/9LpX0nVt7BFTxDtmzy7WV/38k8X6oZNvFetDXz6/WO898nSxjtE1DIGIWDnK4vvb0AuAGjBtGEiOEACSIwSA5AgBIDlCAEiOEACS43oCaJk9az5YrH9r3p8X6yv2fKZY793EPIB2YCQAJEcIAMkRAkByhACQHCEAJEcIAMkRAkByzBPAuP3Pr360WN/xK39SrP/b8WPF+ut/dE6x3qvBYh2Tw0gASI4QAJIjBIDkCAEgOUIASI4QAJIjBIDkmCeAt01f9FPF+k1f+qtivdfll9Pnnl1VrL/7b7leQB0YCQDJEQJAcoQAkBwhACRHCADJEQJAcoQAkBzzBBLx9PJ/98Xf2lesXzvrtWJ9w+H5xfqCL5V/5pwsVtEuDUcCthfb/p7t3bafs31jtXyu7cdt76lu57S/XQCtNp7TgeOSvhgRH5D0UUnX275I0s2SNkfEhZI2V48BTDENQyAiBiPimer+YUm7JS2StELS+mq19ZKubleTANpnQm8M2l4i6RJJWyQtiIhBaTgoJJVPCAF0pXGHgO1ZkjZKuikiDk3geQO2t9reekxHJtMjgDYaVwjY7tFwAGyIiIerxQdsL6zqCyUNjfbciFgbEf0R0d+j3lb0DKCFxvPpgCXdL2l3RNw1ovSYpNXV/dWSHm19ewDabTzzBJZJWiVpp+3t1bJbJN0m6SHbn5f0sqRr29MiWubi9xfLvzf/601t/s++XH4J/OSzTzW1fbRHwxCIiCcleYzy5a1tB0CnMW0YSI4QAJIjBIDkCAEgOUIASI4QAJLjegJnkGkXva9YH/hGc/O5Llp3fbG+5Ov/3NT2UQ9GAkByhACQHCEAJEcIAMkRAkByhACQHCEAJMc8gTPIC79Zvur7VTPHfVW4UZ3z90fLK0Q0tX3Ug5EAkBwhACRHCADJEQJAcoQAkBwhACRHCADJMU9gCnnrqkuL9c1X3dlgCzNb1wzOGIwEgOQIASA5QgBIjhAAkiMEgOQIASA5QgBIruE8AduLJX1N0nsknZS0NiLusb1G0hckvVKtektEbGpXo5D2L5tWrJ87vbl5ABsOzy/Wew6VryfA1QSmpvFMFjou6YsR8Yzt2ZK22X68qt0dEXe0rz0A7dYwBCJiUNJgdf+w7d2SFrW7MQCdMaH3BGwvkXSJpC3Vohts77C9znb52lYAutK4Q8D2LEkbJd0UEYck3SvpAklLNTxSGHXiuu0B21ttbz2mIy1oGUArjSsEbPdoOAA2RMTDkhQRByLiRESclHSfpFF/uyUi1kZEf0T096i3VX0DaJGGIWDbku6XtDsi7hqxfOGI1a6RtKv17QFot/F8OrBM0ipJO21vr5bdImml7aUa/mRor6Tr2tIhgLYaz6cDT0ryKCXmBEwxf/jaRcX6U7+0pFiPwZ0t7AbdghmDQHKEAJAcIQAkRwgAyRECQHKEAJAcIQAk5+jg35Q/23PjMl/esf0BGLYlNutQHBxtvg8jASA7QgBIjhAAkiMEgOQIASA5QgBIjhAAkuvoPAHbr0j6jxGL5kl6tWMNTBz9Naeb++vm3qTW93deRLx7tEJHQ+DHdm5vjYj+2hpogP6a0839dXNvUmf743QASI4QAJKrOwTW1rz/RuivOd3cXzf3JnWwv1rfEwBQv7pHAgBqRggAyRECQHKEAJAcIQAk9780LdIdJE5vTgAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 288x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.matshow(x_test_adv[0, :].reshape((28, 28)))\n",
    "plt.clim(0, 1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Adversarial Test Predicted Label: 3\n"
     ]
    }
   ],
   "source": [
    "prediction = model.predict(x_test_adv[0:1, :])[0]\n",
    "print(\"Adversarial Test Predicted Label: %i\" % prediction)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
